Distance learning service has become a more and more popular way for the public to acquire knowledge. With the developments in the broadband networking system and the video data compression technologies, computer systems used in distanced learning are able to provide stream broadcasting of live content or on-demand video streams of archive contents.
In the conventional distance learning system, videos of screen displayed in the instructor's computer are taken by a video camera and are processed and broadcasted to audiences. However, due to the low resolution of the video camera, images of screen displayed in the video are usually blurred, when this video content is displayed in the audience site. This makes it difficult for the distanced audiences to recognize the images that are displayed in the computer screen of the instructor. Therefore, real-time screen recording of the computer screen at the instructor site, so to broadcast the recorded images to the distanced audience, has become necessary in the distanced learning system.
In the conventional art, two approaches to provide real-time recording of the screen display of the instructor are proposed.
The first approach is implemented at the application layer of the distance learning system. The screen recorder captures the bit-maps of a series of images that are displayed on the computer screen and organizes them into a sequence of images to be broadcasted to the audience, such that real-time displaying of the computer screen at the instructor site is achieved. Commercially available products using this design include: WinStructor (Trademark of FlickFree Multimedia Products ApS), HyperCam (Trademark of Hyperionics Technology, LLC) and Microsoft Media Encoder (Trademark of Microsoft Corporation). A screen recording system adopting this technology functions independently from the hardware and the software configuration (such as display driver, display chipset, color mode and display resolution) of the computer system at the instructor site. However, due to the limited bandwidth of the devices (such as backplane buses and display chipsets) used to transmit the recorded images, the frame rate of contents recorded by theses products is usually low. The low frame rate will results in jittery presentation in the screen displays of the distanced audience.
The second approach is implemented in the driver layer. Under such a design, the screen recorder captures the data sent to the display driver and saves it into a proprietary streaming and archive format. A typical commercially available product using this design is ScreenWatch (Trademark of OPTX International). Under this approach, an additional recording driver will be needed to embed into the operating system. This gives it a restriction to the configurations and specifications of hardware (such as device drivers and display cards) and software (such as display resolution or color mode) applicable in the distance learning system. Additionally, if display data sent to the display driver is in a large quantity (playback a video or demonstrate an animation), the display driver might not be able to capture all the data to be displayed. As a result, the whole screen recording system would stop to operate.
In order to avoid the incompatibility of system configurations and the malfunction of the screen system (drawbacks of adapting the second approach), most screen recording systems are implemented at the application layer (adapting the first approach). However, when the screen recording system is implemented in the application layer, the frequency in capturing the full screen would be relatively low, due to the limited bandwidth of the backplan bus. This makes it impossible to record the full motions of a computer screen at the application layer, unless a good mechanism is provided to improve the frame rate in the recording operation.
It is thus necessary to provide a novel real-time screen recording system to increase the recording frame rate of the system.
It is also necessary to provide a screen recoding system to reduce the CPU utilization of the computer using the screen recording system.
It is also necessary to provide an application layered, real-time screen recording system to enable the real-time recording of the screen display of a computer system.